package utils

import (
	"errors"
	"regexp"
)

// IsValidChEn 检查 name 是否只包含中文字符、大小写英文字母
func IsValidChEn(name string) error {
	// 定义匹配中文字符、大小写英文字母的正则表达式
	re := regexp.MustCompile(`^[\p{Han}A-Za-z]+$`)

	// 使用正则表达式进行匹配
	if !re.MatchString(name) {
		return errors.New("name contains invalid characters")
	}

	return nil
}

// IsValidEn 检查 name 是否只包含大小写英文字母
func IsValidEn(name string) error {
	// 定义匹配大小写英文字母的正则表达式
	re := regexp.MustCompile(`^[A-Za-z]+$`)
	// 使用正则表达式进行匹配
	if !re.MatchString(name) {
		return errors.New("name contains invalid characters")
	}

	return nil
}

// IsValidChEnNum 检查 name 是否只包含大小写英文字母中文数字
func IsValidChEnNum(name string) error {
	// 定义匹配中文字符、大小写英文字母的正则表达式
	re := regexp.MustCompile(`^[\p{Han}A-Za-z0-9]+$`)

	// 使用正则表达式进行匹配
	if !re.MatchString(name) {
		return errors.New("name contains invalid characters")
	}

	return nil
}
